package model.building;

import model.City;
import model.util.Object3D;
import model.util.Vector3D;
import model.util.Box3D;

public class CouncilFlat extends Housing {

    /** Constructeurs */
    public CouncilFlat(City city, Vector3D position) {
        this(city, new Box3D(m_shape, position), new Activity(m_defaultActivity)); 
    }

    public CouncilFlat(City city, Object3D object3d, Housing.Activity activity) {
        super(city, object3d, activity); 
    }

    /** Accesseurs */
    public String getName() { return "Council Flat"; }
    public Object3D.Shape3D getShape3D() { return getShape(); }
    public double getBaseDestructionCost() { return 3000.0; }
    public double getMaintainCost() { return 5.0; }

    /** Variables de classe */
    private static final Box3D.Shape3D m_shape = new Box3D.Shape3D(new Vector3D(153.0, 149.0, 2.0));
    private static final Activity m_defaultActivity = new Activity(60);
    
    /** Methodes de classe */
    public static Box3D.Shape3D getShape() { return m_shape; }
    public static double getConstructionCost() { return 5000.0; }
    public static Activity getDefaultActivity() { return m_defaultActivity; }

    /** Classe internes */
    public static class Activity extends Housing.Activity {

        /** Constructeurs */
        public Activity(int population) { super(population); }
    
        public Activity(Activity a) { super(a); }

    }
}
